package com.atguigu.day31.session04;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;

import java.io.IOException;
/*
 Session:
    1.服务端会话技术 数据保存在服务端
    2.Session的失效时间
      2.1 tomcat服务器默认设置 Session的存活时间 30分钟
      2.2 手动设置session的不活跃时间 单位 秒
           session.setMaxInactiveInterval(30);
      2.3 直接让session 失效
           session.invalidate();

    流程:
       1.客户端请求服务器 服务器创建一个Session 对象 将Session 的id 添加到 Cookie中
          name JSESSIONID  value: session的id
         下一次再发起请求时会携带此Cookie 到达服务端 根据 SessionId 获取Session 对象
         如果能找到就使用找到的  如果找不到 就创建新的Session 对象




 */
@WebServlet("/sessionA")
public class SessionServletA  extends HttpServlet {

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        System.out.println("SessionServletA 请求到达了");

        HttpSession session = req.getSession();
        System.out.println("SessionServletA session.isNew() = " + session.isNew());
        System.out.println("SessionServletA session.getId() = " + session.getId());
        System.out.println("SessionServletA SessionServletA Success");

        session.setAttribute("userName","安琪拉");

        resp.getWriter().println("SessionServletA Success");

    }
}
